package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 实现用户注册功能
 * 程序启动后要求用户顺序输入:用户名，密码，昵称，年龄
 * 用户名，密码，昵称不能为空，年龄必须是整数
 * 然后将该信息插入到表userinfo中。
 */
public class RegDemo {
    public static void main(String[] args) throws Exception {
        UserInfo userInfo = InputUtil.getInputObject(new UserInfo(),"欢迎注册","注册");
        System.out.println(userInfo);

        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                "root",
                "root"
        );
        Statement statement = connection.createStatement();
        /*
            向userinfo表中插入一条记录

            INSERT INTO userinfo(username,password,nickname,age)
            VALUES('张三','123456','阿三',22)
         */
        String sql = "INSERT INTO userinfo(username,password,nickname,age) " +
                "VALUES('"+userInfo.getUsername()+"','"+userInfo.getPassword()+"','"+userInfo.getNickname()+"',"+userInfo.getAge()+")";
        System.out.println(sql);
        /*
            Statement提供了用于执行DML语句的方法:
            int executeUpdate(String sql)
            该方法执行后会返回一个int值，表示执行DML操作后影响了表中多少条记录
         */
        int num = statement.executeUpdate(sql);
        if(num > 0){
            System.out.println("插入成功!");
        }

        connection.close();
    }
}




